home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Mac Game Programming Gurus / TricksOfTheMacGameProgrammingGurus.iso / Information / CSMP Digest / volume 1 / csmp-v1-185.txt < prev    next >
Encoding:
Text File  |  1994-12-08  |  39.6 KB  |  1,099 lines  |  [TEXT/R*ch]

  1. C.S.M.P. Digest             Thu, 15 Oct 92       Volume 1 : Issue 185
  2.  
  3. Today's Topics:
  4.  
  5.     Adding Balloon help
  6.     Problems in Macintosh Programming Secrets
  7.     Animated Cursor
  8.     Q: GrayRgn + Menu bar region
  9.     Need small example of playing a sound in THINK C.
  10.     INIT Idea/Request
  11.     UseResFile() problems with CTB Tools
  12.     Drawing Icons in Modal Dialogs?
  13.     CTB undocumented routines and Think Libs
  14.  
  15.  
  16.  
  17. The Comp.Sys.Mac.Programmer Digest is moderated by Michael A. Kelly.
  18.  
  19. The digest is a collection of article threads from the internet newsgroup
  20. comp.sys.mac.programmer.  It is designed for people who read c.s.m.p. semi-
  21. regularly and want an archive of the discussions.  If you don't know what a
  22. newsgroup is, you probably don't have access to it.  Ask your systems
  23. administrator(s) for details.  (This means you can't post questions to the
  24. digest.)
  25.  
  26. Each issue of the digest contains one or more sets of articles (called
  27. threads), with each set corresponding to a 'discussion' of a particular
  28. subject.  The articles are not edited; all articles included in this digest
  29. are in their original posted form (as received by our news server at
  30. cs.uoregon.edu).  Article threads are not added to the digest until the last
  31. article added to the thread is at least one month old (this is to ensure that
  32. the thread is dead before adding it to the digest).  Article threads that
  33. consist of only one message are generally not included in the digest.
  34.  
  35. The entire digest is available for anonymous ftp from ftp.cs.uoregon.edu
  36. [128.223.8.8] in the directory /pub/mac/csmp-digest.  Be sure to read the
  37. file /pub/mac/csmp-digest/README before downloading any files.  The most
  38. recent issues are available from sumex-aim.stanford.edu [36.44.0.6] in the
  39. directory /info-mac/digest/csmp.  If you don't have ftp capability, the sumex
  40. archive has a mail server; send a message with the text '$MACarch help' (no
  41. quotes) to LISTSERV@ricevm1.rice.edu for more information.
  42.  
  43. The digest is also available via email.  Just send a note saying that you
  44. want to be on the digest mailing list to mkelly@cs.uoregon.edu, and you will
  45. automatically receive each new issue as it is created.  Sorry, back issues
  46. are not available through the mailing list.
  47.  
  48. Send administrative mail to mkelly@cs.uoregon.edu.
  49.  
  50.  
  51. -------------------------------------------------------
  52.  
  53. From: rae@Alias.com (Reid Ellis)
  54. Subject: Adding Balloon help
  55. Date: 3 Sep 92 18:42:30 GMT
  56. Organization: Alias Research, Inc., Toronto ON Canada
  57.  
  58. Danny W. McCampbell <danny@utkux1.utk.edu> asked about adding balloon
  59. help to his app.
  60.  
  61. Peter N Lewis <peter@cujo.curtin.edu.au> replied:
  62. |Whatever you do, don't use BalloonWriter or you'll spend more time
  63. |fighting it than adding balloons!
  64.  ...
  65. |The hdlg resource has items for each dialog item.  There is a hdlg
  66. |item in the array for each DITL item, and each hdlg item has four
  67. |strings (STR# id, index pairs) attached to it (Normal, Disabled,
  68. |Checked, something else). 
  69.  
  70. This is fine as long as your balloon help strings are all less than
  71. 255 chars long.  If they're longer, you should use TEXT [HMTEResItem]
  72. resources instead.  Another advantage of using TEXT resources is that
  73. you can used 'styl' resources to style the text with different fonts,
  74. sizes, boldness etc.  This can be a bad thing as well, since any font
  75. selected via Leium or whatever will be ignored.  If you want to get
  76. REALLY fancy, you can use PICT [HMPictItem] resources and have nice
  77. colour diagrams in your explanations.
  78.  
  79. I've always wondered if you could use a 'moov' resource.  A little
  80. animation would make 3D revolves etc. easier to understand, that's for
  81. sure.
  82.  
  83. Reid
  84. - --
  85. Reid Ellis                                            
  86. rae@utcs.utoronto.ca        ||           rae@Alias.com
  87. CDA0610@applelink.apple.com ||  +1 416 362 9181 [work]
  88.  
  89. +++++++++++++++++++++++++++
  90.  
  91. From: ross@bnr.ca (Ross Brown)
  92. Date: 4 Sep 92 14:41:42 GMT
  93. Organization: Bell-Northern Research
  94.  
  95. In article <1992Sep3.184230.2332@alias.com> rae@Alias.com (Reid Ellis) writes:
  96. >[stuff deleted]
  97. >I've always wondered if you could use a 'moov' resource.  A little
  98. >animation would make 3D revolves etc. easier to understand, that's for
  99. >sure.
  100.  
  101. Yes, someone(s) at the MacHack gathering this summer presented just such a
  102. hack.  Anyone with back issues of the TidBITS newsletter could find the
  103. reference for you.  I don't keep them.
  104.  
  105. ==============================================================================
  106. Ross Brown, Dept. 7C22  < Bell-Northern Research     >  Just the facts, ma'am.
  107. Advisor, Telemgmt Svcs  < P. O. Box 3511, Station C  >  We don't care whose
  108. ross@bnr.ca             < Ottawa, ON, Canada K1Y 4H7 >  opinions yours aren't.
  109. ==============================================================================
  110.  
  111. +++++++++++++++++++++++++++
  112.  
  113. From: k044477@hobbes.kzoo.edu (Jamie R. McCarthy)
  114. Organization: Kalamazoo College
  115. Date: Fri, 4 Sep 1992 16:21:13 GMT
  116.  
  117. ross@bnr.ca (Ross Brown) writes:
  118. >rae@Alias.com (Reid Ellis) writes:
  119. >>I've always wondered if you could use a 'moov' resource.  A little
  120. >>animation would make 3D revolves etc. easier to understand, that's for
  121. >>sure.
  122. >
  123. >Yes, someone(s) at the MacHack gathering this summer presented just such a
  124. >hack.  Anyone with back issues of the TidBITS newsletter could find the
  125. >reference for you.  I don't keep them.
  126.  
  127. TidBITS doesn't seem to have anything about QuickTime in balloons.
  128. Leonard R.'s movie-for-a-finder-icon hack is mentioned (hey, Leonard,
  129. want to upload that somewhere?) but that's it.
  130.  
  131. Maybe Wild Magic would let you substitute a movie for a PICT somehow?
  132. (I'm not into QuickTime;  if this is a dumb idea, flame me in email.)
  133.  
  134. You couldn't use the interface anyway, without seriously distorting the
  135. balloon help UI.  Would continuously-looping balloon movies really be
  136. that informative?
  137. - -- 
  138.  Jamie McCarthy      Internet: k044477@kzoo.edu      AppleLink: j.mccarthy
  139.  The essence of OOP:  "After some hacking, I finally got the program to
  140.  work, but I'm still not sure why." - David Marcovitz (marcovitz@uiuc.edu)
  141.  
  142. +++++++++++++++++++++++++++
  143.  
  144. From: ross@bnr.ca (Ross Brown)
  145. Date: 8 Sep 92 15:46:13 GMT
  146. Organization: Bell-Northern Research
  147.  
  148. In article <1992Sep4.162113.17663@hobbes.kzoo.edu> k044477@hobbes.kzoo.edu
  149. (Jamie R. McCarthy) writes:
  150. >TidBITS doesn't seem to have anything about QuickTime in balloons.
  151. >Leonard R.'s movie-for-a-finder-icon hack is mentioned (hey, Leonard,
  152. >want to upload that somewhere?) but that's it.
  153.  
  154. You're right, Jamie, the movie was in a Finder icon, not in a balloon.  My
  155. error.  I think I'd rather see the movie in an icon, especially if you could
  156. turn the movie on and off by selecting/deselecting the icon.
  157.  
  158. +++++++++++++++++++++++++++
  159.  
  160. From: podenski@bcsaic.boeing.com (Patrick Podenski)
  161. Date: 9 Sep 92 22:13:20 GMT
  162. Organization: Boeing Computer Services AI Center, Seattle
  163.  
  164. In article <1992Sep8.154613.10915@bmers95.bnr.ca> ross@bnr.ca (Ross Brown) writes:
  165. >In article <1992Sep4.162113.17663@hobbes.kzoo.edu> k044477@hobbes.kzoo.edu
  166. >(Jamie R. McCarthy) writes:
  167. >>TidBITS doesn't seem to have anything about QuickTime in balloons.
  168. >>Leonard R.'s movie-for-a-finder-icon hack is mentioned (hey, Leonard,
  169. >>want to upload that somewhere?) but that's it.
  170. >
  171. >You're right, Jamie, the movie was in a Finder icon, not in a balloon.  My
  172. >error.  I think I'd rather see the movie in an icon, especially if you could
  173. >turn the movie on and off by selecting/deselecting the icon.
  174.  
  175. I attempted to place a QuickTime movie in balloon help within a Prograph
  176. application. It was very easy to do because Prograph has a very nice
  177. built-in balloon editor. However, when I bring up the balloon, there is
  178. no way to go and activate the QuickTime movie. I am using Wild Magic,
  179. which has a small icon which must be clicked to deploy the QuickTime
  180. movie controls. Once you mouse out of the object to which the balloon
  181. help corresponds, the balloon goes away. Therefore, I cannot click on
  182. the Wild Magic icon.
  183.  
  184. I certainly can see the value of QuickTime in balloon help. I hope that
  185. someone will make it possible.
  186.  
  187. ---------------------------
  188.  
  189. From: rainwatr@ucbeh.san.uc.edu
  190. Subject: Problems in Macintosh Programming Secrets
  191. Date: 4 Sep 92 01:01:09 EST
  192. Organization: Univ. of Cincinnati Center for IT Services
  193.  
  194. I'm trying to get the example programs to work from the Second Edition of
  195. Macintosh Programming Secrets by Scott Knaster and Keith Rollin.  I'm having
  196. a little trouble with the program in Chapter 4, specifically with the changes
  197. to the MainEventLoop function in Standard Stuff.c.  The line in question is:
  198.  
  199.     itemWasHit = DialogSelect(&event, &theDialog, &itemHit);
  200.  
  201. When I try to compile the source file, I get the message " 'theDialog' has
  202. not been declared."  There is another occurrance of 'theDialog' a couple of
  203. lines later, so I don't think it's a typo.
  204.  
  205. As far as I can tell, there is no function prototype in any of the files
  206. for DialogSelect.  I'm assuming there should be. (?)
  207.  
  208. There were other variables in MainEventLoop that no declaration was listed 
  209. for, including passToDialog, itemWasHit, and sleepyTime.  I made some
  210. assumptions which I think are correct - I declared the first two as
  211. Booleans, and sleepyTime as a long.
  212.  
  213. Anyway, can someone tell me what theDialog should be?  A DialogPtr perhaps?
  214. Also, are there any other gotchas to watch out for in the rest of the book?
  215.  
  216. Thanks for any info. 
  217. - --
  218. Don Rainwater, Systems Manager, Univ. of Cincinnati Center for IT Services
  219. Don.Rainwater@UC.Edu
  220.  
  221. +++++++++++++++++++++++++++
  222.  
  223. From: keith@taligent.com (Keith Rollin)
  224. Organization: Taligent
  225. Date: Fri, 4 Sep 1992 07:15:39 GMT
  226.  
  227. In article <1992Sep4.010109.1710@ucbeh.san.uc.edu>, rainwatr@ucbeh.san.uc.edu
  228. writes:
  229. > I'm trying to get the example programs to work from the Second Edition of
  230. > Macintosh Programming Secrets by Scott Knaster and Keith Rollin.  I'm having
  231. > a little trouble with the program in Chapter 4, specifically with the changes
  232. > to the MainEventLoop function in Standard Stuff.c.  The line in question is:
  233. >  
  234. >     itemWasHit = DialogSelect(&event, &theDialog, &itemHit);
  235. >  
  236. > When I try to compile the source file, I get the message " 'theDialog' has
  237. > not been declared."  There is another occurrance of 'theDialog' a couple of
  238. > lines later, so I don't think it's a typo.
  239. >  
  240. > As far as I can tell, there is no function prototype in any of the files
  241. > for DialogSelect.  I'm assuming there should be. (?)
  242. >  
  243. > There were other variables in MainEventLoop that no declaration was listed 
  244. > for, including passToDialog, itemWasHit, and sleepyTime.  I made some
  245. > assumptions which I think are correct - I declared the first two as
  246. > Booleans, and sleepyTime as a long.
  247. >  
  248. > Anyway, can someone tell me what theDialog should be?  A DialogPtr perhaps?
  249. >
  250.  
  251. Sorry for the confusion there. Yes, "theDialog" should be a DialogPtr. Scott I
  252. and didn't want to waste pages and pages going into excrutiating detail on
  253. everything, so we left a few out in some places. Missing declarations whose
  254. types are obvious are such a place. In this case, you know that "theDialog" is a
  255. DialogPtr because that's what the Dialogs.h files says DialogSelect() takes as
  256. the second parameter.
  257.  
  258. > Also, are there any other gotchas to watch out for in the rest of the book?
  259.  
  260. You tell me.
  261.  
  262. - --
  263. Keith Rollin
  264. Phantom Programmer
  265. Taligent, Inc.
  266.  
  267.  
  268. ---------------------------
  269.  
  270. From: chuck@gte.com (Chuck Hoffman)
  271. Subject: Animated Cursor
  272. Date: 4 Sep 92 16:05:58 GMT
  273. Organization: GTE Laboratories
  274.  
  275. Can someone point me to documentation about how to do an animated cursor. 
  276. I somehow missed it in the TN's and IM.
  277.  
  278. Thanks.
  279.  
  280.  
  281. Chuck Hoffman
  282. chuck@gte.com
  283. GTE Laboratories, Waltham, Massachusetts, USA
  284. (617) 466-2131
  285. =====================================
  286. I'm not sure why we're here, but I am sure that while we're here we're
  287. supposed to help each other.
  288. =====================================
  289.  
  290. +++++++++++++++++++++++++++
  291.  
  292. From: jbush@magnus.acs.ohio-state.edu (J Eric Bush)
  293. Organization: The Ohio State University
  294. Date: Fri, 4 Sep 1992 17:56:46 GMT
  295.  
  296. In article <chuck-040992120527@choffman.gte.com> chuck@gte.com (Chuck Hoffman)
  297. writes:
  298. >Can someone point me to documentation about how to do an animated cursor.
  299. >I somehow missed it in the TN's and IM.
  300. >
  301. To do an animated cursor the way the Finder does it, you have a acur resource 
  302. with the numbers of the CURS icons in the rotation.  Make a copy of your finder
  303. and save it to disk.  Look at the acur and CURS resource with ResEdit.
  304.  
  305. Then, inyour application, you just keep a variable with the current cursor,
  306. add one to it, and then do a SetCursor procedure/function.
  307.  
  308. Eric
  309. - -- 
  310. - ------------------------------------------------------------------------------
  311. J. Eric Bush
  312. Internet: jbush@magnus.acs.ohio-state.edu
  313.  
  314. +++++++++++++++++++++++++++
  315.  
  316. From: chuck@gte.com (Chuck Hoffman)
  317. Date: 9 Sep 92 12:53:01 GMT
  318. Organization: GTE Laboratories
  319.  
  320. In article <1992Sep4.175646.10103@magnus.acs.ohio-state.edu>,
  321. jbush@magnus.acs.ohio-state.edu (J Eric Bush) wrote:
  322. > To do an animated cursor the way the Finder does it, you have a acur resource 
  323. > with the numbers of the CURS icons in the rotation.  Make a copy of your finder
  324. > and save it to disk.  Look at the acur and CURS resource with ResEdit.
  325. > Then, inyour application, you just keep a variable with the current cursor,
  326. > add one to it, and then do a SetCursor procedure/function.
  327.  
  328. Thanks, Eric.  Sometimes when I look for something complicated, I miss the
  329. simple.
  330.  
  331. Chuck Hoffman
  332. chuck@gte.com
  333. GTE Laboratories, Waltham, Massachusetts, USA
  334. (617) 466-2131
  335. =====================================
  336. I'm not sure why we're here, but I am sure that while we're here we're
  337. supposed to help each other.
  338. =====================================
  339.  
  340. +++++++++++++++++++++++++++
  341.  
  342. From: mbabramo@unix.amherst.edu (MICHAEL BERNARD ABRAMOWICZ)
  343. Date: 9 Sep 92 17:39:19 GMT
  344. Organization: Amherst College
  345.  
  346.  
  347. Hi there,
  348.  
  349. Another possible approach is to use the Vertical Retrace Manager.
  350. This is pretty easy if you have New Inside Macintosh: Processes,
  351. since full source code is conveniently provided. 
  352.  
  353. Michael Abramowicz
  354.  
  355. Disclaimer: I wrote the first version of the chapter as an Apple
  356. summer intern, so I am somewhat biased. But it really is easy.
  357.  
  358. +++++++++++++++++++++++++++
  359.  
  360. From: kent@sunfs3.Camex.COM (Kent Borg)
  361. Date: 9 Sep 92 22:42:32 GMT
  362. Organization: Camex Inc., Boston MA
  363.  
  364. In article <BuBnpJ.AEu@unix.amherst.edu> mbabramo@unix.amherst.edu (MICHAEL BERNARD ABRAMOWICZ) writes:
  365. >Another possible approach is to use the Vertical Retrace Manager.
  366. >This is pretty easy if you have New Inside Macintosh: Processes,
  367. >since full source code is conveniently provided. 
  368. >
  369. >Michael Abramowicz
  370. >
  371. >Disclaimer: I wrote the first version of the chapter as an Apple
  372. >summer intern, so I am somewhat biased. But it really is easy.
  373.  
  374. And I didn't like it when I saw it.  No, I have no gripes (or opinions
  375. actually) with the quality of the code, my complaint (often repeated
  376. here) is that a VBL task should *not* be used to spin a cursor.  It is
  377. dishonest.
  378.  
  379. Spinning cursors are not just there to be cute, they are to assure the
  380. user that things are still progressing, their speed and cadence can
  381. convey information about the progress of short procedures.  (Long
  382. procedures should get cancelable progress thermometers, not spinning
  383. cursors.)
  384.  
  385. If you use an effort-saving VBL to spin your cursor you are unlikely
  386. to put in the extra work needed to make the cursor representative of
  387. whether there really *is* any progress going on.  
  388.  
  389. Spinning cursors is not a background task, it is part of the Real Work
  390. of your application, do it in the Real Code.  Save VBLs for background
  391. activities.
  392.  
  393.  
  394. - --
  395. Kent Borg            kent@camex.com or (when it is *working*) kentborg@aol.com
  396.                                             H:(617) 776-6899  W:(617) 426-3577
  397. As always, things look better when some costs are left out.
  398.                               -Economist 3-28-92 p. 94
  399.  
  400. ---------------------------
  401.  
  402. From: Andrew_Gilmartin@Brown.Edu (Andrew Gilmartin)
  403. Subject: Q: GrayRgn + Menu bar region
  404. Date: 6 Sep 92 20:38:06 GMT
  405. Organization: Brown University
  406.  
  407. With WaitNextEvent() you can specify when to receive mouse
  408. moved messages by specifying a region within which you don't
  409. care about the mouse's movement but outside of which you do.
  410. When the mouse is outside of the front window, I only care to
  411. be notified when the mouse moves into the front window. This is
  412. simply done using a region that is the difference between the
  413. desktop and my window, for example
  414.  
  415.         RectRgn( theWindowRgn, &theWindowRect );
  416.         XorRgn( GetGrayRgn(), theWindowRgn, theCursorRgn );
  417.  
  418. The problem is that GetGrayRgn() excludes the menu bar and so I
  419. get mouse moved messages when the mouse moves there. Is there a
  420. clean way to get the full screen region (desktop and menu bar)?
  421. Thanks.
  422.  
  423. - --
  424. Andrew Gilmartin
  425. Computing & Information Services
  426. Brown University
  427.  
  428. Andrew_Gilmartin@Brown.Edu
  429. (401) 863-7305
  430.  
  431. +++++++++++++++++++++++++++
  432.  
  433. From: keith@taligent.com (Keith Rollin)
  434. Date: 6 Sep 92 23:44:43 GMT
  435. Organization: Taligent
  436.  
  437. In article <18dq7eINN48i@stanley.cis.Brown.EDU>, Andrew Gilmartin
  438. <Andrew_Gilmartin@Brown.Edu> writes:
  439. > With WaitNextEvent() you can specify when to receive mouse
  440. > moved messages by specifying a region within which you don't
  441. > care about the mouse's movement but outside of which you do.
  442. > When the mouse is outside of the front window, I only care to
  443. > be notified when the mouse moves into the front window. This is
  444. > simply done using a region that is the difference between the
  445. > desktop and my window, for example
  446. >         RectRgn( theWindowRgn, &theWindowRect );
  447. >         XorRgn( GetGrayRgn(), theWindowRgn, theCursorRgn );
  448. > The problem is that GetGrayRgn() excludes the menu bar and so I
  449. > get mouse moved messages when the mouse moves there. Is there a
  450. > clean way to get the full screen region (desktop and menu bar)?
  451. > Thanks.
  452.  
  453. You don't need to be so selective. Instead of using GetGrayRgn(), create a
  454. wide-open region from -32000 to 32000 in both directions, and subtract the
  455. theWindowRgn from that. This technique will only cause problems if you move the
  456. mouse off of the desktop, which you can't, so it won't, so there.
  457.  
  458. Here's how TESample on ftp.apple.com does it:
  459.  
  460. /*    Change the cursor's shape, depending on its position. This also calculates
  461. the region
  462.     where the current cursor resides (for WaitNextEvent). When the mouse moves
  463. outside of
  464.     this region, an event is generated. If there is more to the event than just
  465.     Rthe mouse movedS, we get called before the event is processed to make sure
  466.     the cursor is the right one. In any (ahem) event, this is called again before
  467. we
  468.     fall back into WNE. */
  469.  
  470. #pragma segment Main
  471. void AdjustCursor(mouse,region)
  472.     Point        mouse;
  473.     RgnHandle    region;
  474. {
  475.     WindowPtr    window;
  476.     RgnHandle    arrowRgn;
  477.     RgnHandle    iBeamRgn;
  478.     Rect        iBeamRect;
  479.  
  480.     window = FrontWindow();    /* we only adjust the cursor when we are in front */
  481.     if ( (! gInBackground) && (! IsDAWindow(window)) ) {
  482.         /* calculate regions for different cursor shapes */
  483.         arrowRgn = NewRgn();
  484.         iBeamRgn = NewRgn();
  485.  
  486.         /* start arrowRgn wide open */
  487.         SetRectRgn(arrowRgn, kExtremeNeg, kExtremeNeg, kExtremePos, kExtremePos);
  488.  
  489.         /* calculate iBeamRgn */
  490.         if ( IsAppWindow(window) ) {
  491.             iBeamRect = (*((DocumentPeek) window)->docTE)->viewRect;
  492.             SetPort(window);    /* make a global version of the viewRect */
  493.             LocalToGlobal(&TopLeft(iBeamRect));
  494.             LocalToGlobal(&BotRight(iBeamRect));
  495.             RectRgn(iBeamRgn, &iBeamRect);
  496.             /* we temporarily change the portUs origin to RglobalfyS the visRgn */
  497.             SetOrigin(-window->portBits.bounds.left, -window->portBits.bounds.top);
  498.             SectRgn(iBeamRgn, window->visRgn, iBeamRgn);
  499.             SetOrigin(0, 0);
  500.         }
  501.  
  502.         /* subtract other regions from arrowRgn */
  503.         DiffRgn(arrowRgn, iBeamRgn, arrowRgn);
  504.  
  505.         /* change the cursor and the region parameter */
  506.         if ( PtInRgn(mouse, iBeamRgn) ) {
  507.             SetCursor(*GetCursor(iBeamCursor));
  508.             CopyRgn(iBeamRgn, region);
  509.         } else {
  510.             SetCursor(&qd.arrow);
  511.             CopyRgn(arrowRgn, region);
  512.         }
  513.  
  514.         DisposeRgn(arrowRgn);
  515.         DisposeRgn(iBeamRgn);
  516.     }
  517. } /*AdjustCursor*/
  518.  
  519.  
  520. - --
  521. Keith Rollin
  522. Phantom Programmer
  523. Taligent, Inc.
  524.  
  525. ---------------------------
  526.  
  527. From: rsilvers@powwow.nynexst.com (Rob Silvers)
  528. Subject: Need small example of playing a sound in THINK C.
  529. Date: 7 Sep 92 00:19:53 GMT
  530. Organization: Nynex Science and Technology
  531.  
  532.  
  533.  
  534.  
  535.     I have gotton the Mac to play sampled sound resources in
  536. THINK C, but I am having trouble playing a synthesized square wave.
  537. Could someone send me a small example of playing a simple note?
  538.  
  539.                     Thanks,
  540.                         --Rob.
  541.  
  542. +++++++++++++++++++++++++++
  543.  
  544. From: chuck@gte.com (Chuck Hoffman)
  545. Date: 9 Sep 92 14:19:17 GMT
  546. Organization: GTE Laboratories
  547.  
  548. In article <1992Sep7.001953.570@nynexst.com>, rsilvers@powwow.nynexst.com
  549. (Rob Silvers) wrote:
  550. >     I have gotton the Mac to play sampled sound resources in
  551. > THINK C, but I am having trouble playing a synthesized square wave.
  552. > Could someone send me a small example of playing a simple note?
  553.  
  554. I did it recently this way, to play a sound asynchronously:
  555.  
  556. I used ResEdit to create (and preview play) a 'snd ' resource (trailing
  557. blank required) with the following hexidecimal values.  Actually, I created
  558. a template for ResEdit to make this easy.  Sound resource number should be
  559. above 8191.  I used 9000.
  560.  
  561. ============   'snd ' RESOURCE:
  562.  
  563. 0001               Format 1
  564. 0001                                                   Number of mod/synth's is 1
  565. 000100000000       Note synth id is 1, and null initial parm
  566. 0003               Number of commands
  567. 002B00FF00000000   Amplitude command (full blast)
  568. 002C008000000000   Timbre command (half between square and sine)
  569. 002803E800000036   Note command (1000 half miliseconds, F-sharp/A-flat)
  570.  
  571. ============  TO PLAY THE SOUND:
  572.  
  573. SndCommand    myCallbk;
  574.  
  575. - ------------
  576. disposeAlmaMater = FALSE;
  577. myCallbk.cmd = callBackCmd;
  578. myCallbk.param1 = NIL;
  579. myCallbk.param2 = (long) &disposeAlmaMater;
  580. SetItem (myMenuHandle[3], AlmaMaterItem, myStifleStr);
  581. mySoundH = GetResource ('snd ', 9000);
  582. HLock (mySoundH);
  583. mySndChPtr = NIL;
  584. myErr = SndNewChannel (&mySndChPtr, NIL, NIL,
  585.     (ProcPtr) myCallBack);
  586. myErr = SndPlay (mySndChPtr, mySoundH, TRUE);
  587. myErr = SndDoCommand (mySndChPtr, &myCallbk, TRUE);
  588.  
  589. ============   TO STOP THE SOUND
  590.  
  591. sndRC = SndDisposeChannel (mySndChPtr, TRUE);
  592. HUnlock (mySoundH);
  593. ReleaseResource (mySoundH);
  594. disposeAlmaMater = FALSE;
  595.  
  596. ============   CALLBACK ROUTINE
  597.  
  598. pascal void    myCallBack(SndChannelPtr workChPtr, SndCommand workCmd)
  599. {
  600.     *((Ptr) workCmd.param2) = (char) 0x08;  /* set flag in disposeAlmaMater */
  601.     return;
  602. }    
  603.  
  604. ============
  605.  
  606. I'm a real beginner at this sound stuff, so postings of any other ways
  607. would be of interest to me as well.
  608.  
  609.  
  610. Chuck Hoffman
  611. chuck@gte.com
  612. GTE Laboratories, Waltham, Massachusetts, USA
  613. (617) 466-2131
  614. =====================================
  615. I'm not sure why we're here, but I am sure that while we're here we're
  616. supposed to help each other.
  617. =====================================
  618.  
  619. ---------------------------
  620.  
  621. From: johnsd2@jec324.its.rpi.edu (Daniel Norman Johnson)
  622. Subject: INIT Idea/Request
  623. Organization: Rensselaer Polytechnic Institute, Troy, NY.
  624. Date: Mon, 7 Sep 1992 19:17:08 GMT
  625.  
  626. I am not sure this is the right place for this, but if it isn't, please
  627. flame in toward the right newsgroup. :)
  628.  
  629. It occurs to me that it would be quite neat (to say the least) to get
  630. rid of this memory zone stuff in the Macintosh by making NewHandle
  631. act like TempNewHandle. Or more precisely, to make any call to NewHandle
  632. result in a call to TempNewHandle, and if that fails, a normal call
  633. to NewHandle.
  634.  
  635. I tried to make an INIT that does this, but it failed miserably, and I
  636. don't understand these things well enough to know why, or to fix it. :(
  637.  
  638. So, I just wanted to suggest that somebody out there with a clue about
  639. these matters give it a shot, or tell me its impossible (& why). :)
  640.  
  641. Dat's all. Thanx fer listening. :)
  642. - -- 
  643.             - Dan Johnson
  644. And God said "Jeeze, this is dull"... and it *WAS* dull. Genesis 0:0
  645.  
  646. These opinions have had all identifiying marks removed, and are untraceable.
  647. You'll never know whose they are.
  648.  
  649. +++++++++++++++++++++++++++
  650.  
  651. From: gurgle@netcom.com (Pete Gontier)
  652. Date: Tue, 08 Sep 92 00:14:56 GMT
  653. Organization: cellular
  654.  
  655. johnsd2@jec324.its.rpi.edu (Daniel Norman Johnson) writes:
  656.  
  657. >It occurs to me that it would be quite neat (to say the least) to get
  658. >rid of this memory zone stuff in the Macintosh by making NewHandle
  659. >act like TempNewHandle. Or more precisely, to make any call to NewHandle
  660. >result in a call to TempNewHandle, and if that fails, a normal call
  661. >to NewHandle.
  662.  
  663. This was discussed at length some months ago. Some guy who was Smarter
  664. Than All the Rest of Us Put Together pointed out that this was going
  665. to make some existing applications go crazy. Some do brilliant things
  666. like figure out how much memory is available to them and then allocate
  667. it all in one big block and do their own allocation schemes within that
  668. block. MacPaint 2 is one that springs to mind. Or perhaps MacWrite II.
  669. One of those.
  670. - -- 
  671.  Pete Gontier // EC Technology // gurgle@netcom.com
  672.  
  673. +++++++++++++++++++++++++++
  674.  
  675. From: johnsd2@rs6110.ecs.rpi.edu (Daniel Norman Johnson)
  676. Date: 8 Sep 92 01:33:54 GMT
  677. Organization: Rensselaer Polytechnic Institute, Troy, NY.
  678.  
  679. In article <t7qnaga.gurgle@netcom.com>, gurgle@netcom.com (Pete Gontier) writes:
  680. |> johnsd2@jec324.its.rpi.edu (Daniel Norman Johnson) writes:
  681. |> 
  682. |> >It occurs to me that it would be quite neat (to say the least) to get
  683. |> >rid of this memory zone stuff in the Macintosh by making NewHandle
  684. |> >act like TempNewHandle. Or more precisely, to make any call to NewHandle
  685. |> >result in a call to TempNewHandle, and if that fails, a normal call
  686. |> >to NewHandle.
  687. |> 
  688. |> This was discussed at length some months ago. Some guy who was Smarter
  689. |> Than All the Rest of Us Put Together pointed out that this was going
  690. |> to make some existing applications go crazy. Some do brilliant things
  691. |> like figure out how much memory is available to them and then allocate
  692. |> it all in one big block and do their own allocation schemes within that
  693. |> block. MacPaint 2 is one that springs to mind. Or perhaps MacWrite II.
  694. |> One of those.
  695.  
  696. Why would this cause a problem? Sounds to me like it calls some Mem Manager
  697. routine to find out how much memory is in its zone, then allocates a block
  698. about that big. Is this not what you are saying?
  699.  
  700. All taht would imply is that you ought to try to NewHandle before
  701. you TempNewHandle, or some such thing like that, so this allocation
  702. would (if possible) be in the app's zone instead of in temp memory
  703. (where it could get in the way)
  704.  
  705. At the worst this just means there needs to be a mechanism for
  706. exceptions to the new memory-allocation arrangement, no?
  707. - -- 
  708.             - Dan Johnson
  709. And God said "Jeeze, this is dull"... and it *WAS* dull. Genesis 0:0
  710.  
  711. These opinions have had all identifiying marks removed, and are untraceable.
  712. You'll never know whose they are.
  713.  
  714. +++++++++++++++++++++++++++
  715.  
  716. From: bwilliam@iat.holonet.net (Bill Williams)
  717. Organization: HoloNet (BBS: 510-704-1058)
  718. Date: Wed, 9 Sep 1992 05:10:48 GMT
  719.  
  720. I feel only very large blocks of memory that NEVER ar locked during a call
  721. to waitnextevent should be put in temporary memory.
  722.  
  723. It sickens me to have to reboot all the time in system seven on a stock
  724. system on a 8 meg machine (not mine) because even after quitting nearly
  725. every application the damned free memory is fragmented AND LOCKED by
  726. foolish people who abuse temporary memory.
  727.  
  728. BWilliams
  729.  
  730.  
  731. +++++++++++++++++++++++++++
  732.  
  733. From: gurgle@netcom.com (Pete Gontier)
  734. Date: Wed, 09 Sep 92 06:04:39 GMT
  735. Organization: cellular
  736.  
  737. bwilliam@iat.holonet.net (Bill Williams) writes:
  738.  
  739. >I feel only very large blocks of memory that NEVER ar locked during a call
  740. >to waitnextevent should be put in temporary memory.
  741.  
  742. That's the Apple dogma, as well as I remember.
  743.  
  744. >It sickens me to have to reboot all the time in system seven on a stock
  745. >system on a 8 meg machine (not mine) because even after quitting nearly
  746. >every application the damned free memory is fragmented AND LOCKED by
  747. >foolish people who abuse temporary memory.
  748.  
  749. No, it's bugs. Get the latest Tuner. I never have this problem, and I'm
  750. on my Mac all day every day.
  751. - -- 
  752.  Pete Gontier // EC Technology // gurgle@netcom.com
  753.  
  754. ---------------------------
  755.  
  756. From: ulfis@cyklop.nada.kth.se (Anders Ulfheden)
  757. Subject: UseResFile() problems with CTB Tools
  758. Date: 7 Sep 92 23:52:18 GMT
  759. Organization: Royal Institute of Technology, Stockholm, Sweden
  760.  
  761. I have a document from Apple (by Craig Hotchkiss and Chris Halim) that
  762. describes some hints when creating your own Choose dialog:
  763.  
  764. ...
  765. Save CurResFile().
  766. Save the current grafPtr.
  767. Set the new grafPtr to the dialog.
  768. Set CurResFile() to the procID of the tool we're working with (the tool procID
  769.     is also the refNum of the open file).
  770. ...
  771.  
  772. But when I check with ResError() after UseResFile((**toolHandle).procID) I get
  773. error resFNotFound (-193) Resource file not found. Can anyone explain why?
  774. The tools handle is valid and the code works fine without UseResFile() stuff.
  775.  
  776. Now, I really want to use the refNum to the actual tool and read some font
  777. resources. Do I manually have to locate the tool before doing this?
  778.  
  779. Thanks for any help!
  780.  
  781. ulfis
  782.  
  783. PS: Thanks to all of you netters that helped me earlier with strange font and
  784.     sizes in the Choose dialog. I'll post the complete code to the net when
  785.     it's done and works! DS.
  786. - --
  787. +------------------------------------------------------------------------------
  788. |  Anders Ulfheden
  789. |  USENET:  ulfis@nada.kth.se        AppleLink: SW0429
  790. |  Royal Institute of Technology
  791. |  Stockholm, Sweden
  792.  
  793. +++++++++++++++++++++++++++
  794.  
  795. From: mspace@netcom.com (Brian Hall)
  796. Date: Mon, 07 Sep 92 23:55:16 GMT
  797. Organization: Netcom - Online Communication Services  (408 241-9760 guest) 
  798.  
  799. ulfis@cyklop.nada.kth.se (Anders Ulfheden) writes:
  800. >Now, I really want to use the refNum to the actual tool and read some font
  801. >resources. Do I manually have to locate the tool before doing this?
  802.  
  803. Not to be a pain, but why do you need to do that?  The only reason I ever
  804. came up with for that was printing, but you can always TMPaint to a
  805. printer grafport for that.
  806.  
  807. - -- 
  808.  
  809.  \ | /   | Brian Hall                 mspace@netcom.com
  810.  - : -   | Mark/Space Softworks       Applelink: markspace
  811.   /|\    |                            America Online: MarkSpace
  812.  |-+-|   |
  813. /-\|/-\  | The tornado ate my powerbook.
  814.  
  815. +++++++++++++++++++++++++++
  816.  
  817. From: ulfis@cyklop.nada.kth.se (Anders Ulfheden)
  818. Organization: Royal Institute of Technology, Stockholm, Sweden
  819. Date: Tue, 8 Sep 1992 20:16:19 GMT
  820.  
  821. In article <+7qn!n-.mspace@netcom.com> mspace@netcom.com (Brian Hall) writes:
  822.    ulfis@cyklop.nada.kth.se (Anders Ulfheden) writes:
  823.    >Now, I really want to use the refNum to the actual tool and read some font
  824.    >resources. Do I manually have to locate the tool before doing this?
  825.  
  826.    Not to be a pain, but why do you need to do that?  The only reason I ever
  827.    came up with for that was printing, but you can always TMPaint to a
  828.    printer grafport for that.
  829.  
  830. The tool itself contains font information to be used in the tools settings
  831. dialog. I should read this information from the tool to make my custom choose
  832. dialog look good.
  833.  
  834.    Brian Hall                 mspace@netcom.com
  835.  
  836. ulfis
  837. - --
  838. +------------------------------------------------------------------------------
  839. |  Anders Ulfheden
  840. |  USENET:  ulfis@nada.kth.se        AppleLink: SW0429
  841. |  Royal Institute of Technology
  842. |  Stockholm, Sweden
  843.  
  844. +++++++++++++++++++++++++++
  845.  
  846. From: bredell@tdb.uu.se (Mats Bredell)
  847. Date: 9 Sep 92 08:07:08 GMT
  848. Organization: Uppsala University Computing Center (UDAC)
  849.  
  850. ulfis@cyklop.nada.kth.se (Anders Ulfheden) writes:
  851. : The tool itself contains font information to be used in the tools settings
  852. : dialog. I should read this information from the tool to make my custom choose
  853. : dialog look good.
  854.  
  855. Most tools contain a 'finf' resource that tells what font, size and style to
  856. use for the settings dialog. I tried to use this resource, but found that
  857. some tools don't have it.
  858.  
  859. What am I supposed to do if there isn't such a resource? The tool I found that
  860. was lacking this resource, apparently wanted Geneva 9. Should I set the font
  861. to Geneva 9 if I can't find this resource?
  862.  
  863. /Mats
  864. - -- 
  865. Mats Bredell                                   Mats.Bredell@udac.uu.se
  866. Uppsala University Computing Center (UDAC)     Ph:  +46 18 187817
  867. Department of medical systems                  Fax: +46 18 187825
  868. Sweden                                         Think straight - be gay!
  869.  
  870. +++++++++++++++++++++++++++
  871.  
  872. From: leonardr@netcom.com (Leonard Rosenthol)
  873. Date: 9 Sep 92 17:12:53 GMT
  874. Organization: Netcom - Online Communication Services  (408 241-9760 guest)
  875.  
  876. In article <1992Sep9.080708.6006@tdb.uu.se> Mats.Bredell@udac.uu.se writes:
  877. >ulfis@cyklop.nada.kth.se (Anders Ulfheden) writes:
  878. >: 
  879. >: The tool itself contains font information to be used in the tools settings
  880. >: dialog. I should read this information from the tool to make my custom choose
  881. >: dialog look good.
  882. >: 
  883. >
  884. >Most tools contain a 'finf' resource that tells what font, size and style to
  885. >use for the settings dialog. I tried to use this resource, but found that
  886. >some tools don't have it.
  887. >
  888.     That's true.  Also, with System 7 there is a NEW resource type that is
  889. used by the xxChoose routines to track font/size information for a tool - the
  890. 'flst' resource.  So what you now have to do is check system version - if 
  891. 7 then look first for a 'flst' (Get1IndResource) and if you don't find it, then
  892. go for the 'finf'.  Under 6, just get the 'finf'.
  893.  
  894. >What am I supposed to do if there isn't such a resource? The tool I found that
  895. >was lacking this resource, apparently wanted Geneva 9. Should I set the font
  896. >to Geneva 9 if I can't find this resource?
  897. >
  898.     If you don't find a 'finf' or 'flst' resource, then you should use
  899. either Geneva 9, or be internally cool and use the Script manager to load the
  900. the current application font & size.
  901.  
  902. - -- 
  903. - -----------------------------------------------------------------------------
  904. Leonard Rosenthol            Internet:     leonardr@netcom.com
  905. Director of Advanced Technology        AppleLink:    MACgician
  906. Aladdin Systems, Inc.            GEnie:        MACgician
  907.  
  908. ---------------------------
  909.  
  910. From: danny@utkux1.utk.edu (Danny W. McCampbell)
  911. Subject: Drawing Icons in Modal Dialogs?
  912. Date: 8 Sep 92 17:09:30 GMT
  913. Organization: University of Tennessee
  914.  
  915. Hi.  I have a modal dialog that I want to draw an ICON resource
  916. in.  The problem I have is I am getting the resource from an
  917. ICN# resource.  How can I draw this ICN# resource as an ICON
  918. resource into a Modal Dialog?  Any ideas would be greatly appreciated.
  919. Thanks in advance.
  920.  
  921. Danny
  922. danny@utkux1.utk.edu
  923.  
  924. +++++++++++++++++++++++++++
  925.  
  926. From: wombat@claris.com (Scott Lindsey)
  927. Date: 9 Sep 92 23:21:36 GMT
  928. Organization: Claris Corporation, Vancouver WA
  929.  
  930. In article <1992Sep8.170930.24746@utkux1.utk.edu>, danny@utkux1.utk.edu (Danny W. McCampbell) writes:
  931. > Hi.  I have a modal dialog that I want to draw an ICON resource
  932. > in.  The problem I have is I am getting the resource from an
  933. > ICN# resource.  How can I draw this ICN# resource as an ICON
  934. > resource into a Modal Dialog?  Any ideas would be greatly appreciated.
  935.  
  936. Try
  937.  
  938.     GetDItem(dlog, Item, &IType, &IHdl, &IRect);
  939.     ReleaseResource(IHdl);
  940.     IHdl = GetResource('ICN#', id);
  941.     SetDItem(dlog, Item, IType, IHdl, &IRect);
  942.  
  943. Since an ICON resource is a proper prefix of an ICN#, you shouldn't have any
  944. problems.
  945.  
  946. - --
  947. Scott Lindsey <wombat@claris.com>
  948.  
  949. ---------------------------
  950.  
  951. From: ulfis@cyklop.nada.kth.se (Anders Ulfheden)
  952. Subject: CTB undocumented routines and Think Libs
  953. Organization: Royal Institute of Technology, Stockholm, Sweden
  954. Date: Tue, 8 Sep 1992 21:35:13 GMT
  955.  
  956. The file <CommResources.h> contains the glue for some *undocumented* CTB
  957. routines:
  958.  
  959. ...
  960. pascal Handle CRMGetToolResource (short procID, ResType theType, short theID);
  961. pascal void   CRMReleaseToolResource (short procID, Handle theHandle);
  962. ...
  963. pascal OSErr  CRMFindCommunications(short *vRefNum, long *dirID);
  964. ...
  965.  
  966. When I use CRMGetToolResource() in my code (CommToolbox library added) I get
  967. a "undefined CRMGetToolResource" link error.
  968.  
  969. I can't find any description in my Inside CTB (published 1991) or in
  970. MPW's 411 help file for the CTB. Can someone from Symantec or Apple help me
  971. out?
  972.  
  973. Tnx!
  974.  
  975. ulfis
  976. - --
  977. +------------------------------------------------------------------------------
  978. |  Anders Ulfheden
  979. |  USENET:  ulfis@nada.kth.se        AppleLink: SW0429
  980. |  Royal Institute of Technology
  981. |  Stockholm, Sweden
  982.  
  983. +++++++++++++++++++++++++++
  984.  
  985. From: leonardr@netcom.com (Leonard Rosenthol)
  986. Date: Wed, 09 Sep 92 00:50:28 GMT
  987. Organization: Netcom - Online Communication Services  (408 241-9760 guest) 
  988.  
  989. In article <ULFIS.92Sep8223513@cyklop.nada.kth.se> ulfis@cyklop.nada.kth.se (Anders Ulfheden) writes:
  990. >The file <CommResources.h> contains the glue for some *undocumented* CTB
  991. >routines:
  992. >
  993. >...
  994. >pascal Handle CRMGetToolResource (short procID, ResType theType, short theID);
  995. >pascal void   CRMReleaseToolResource (short procID, Handle theHandle);
  996. >...
  997. >pascal OSErr  CRMFindCommunications(short *vRefNum, long *dirID);
  998. >...
  999. >
  1000. >When I use CRMGetToolResource() in my code (CommToolbox library added) I get
  1001. >a "undefined CRMGetToolResource" link error.
  1002. >
  1003.     These routines are part of CTB 1.1, which is available as a separate
  1004. library for Think, but should be part of the MPW 3.2 .o files.  If you don't
  1005. have the docs/library for the CTB 1.1, they are available on ftp.apple.com.
  1006.  
  1007. - -- 
  1008. - -----------------------------------------------------------------------------
  1009. Leonard Rosenthol            Internet:     leonardr@netcom.com
  1010. Director of Advanced Technology        AppleLink:    MACgician
  1011. Aladdin Systems, Inc.            GEnie:        MACgician
  1012.  
  1013.  
  1014. +++++++++++++++++++++++++++
  1015.  
  1016. From: mspace@netcom.com (Brian Hall)
  1017. Date: 9 Sep 92 03:33:24 GMT
  1018. Organization: Netcom - Online Communication Services  (408 241-9760 guest)
  1019.  
  1020. leonardr@netcom.com (Leonard Rosenthol) writes:
  1021. >In article <ULFIS.92Sep8223513@cyklop.nada.kth.se> ulfis@cyklop.nada.kth.se (Anders Ulfheden) writes:
  1022. >>The file <CommResources.h> contains the glue for some *undocumented* CTB
  1023. >>routines:
  1024. >>
  1025. >>...
  1026. >>pascal Handle CRMGetToolResource (short procID, ResType theType, short theID);
  1027. >>pascal void   CRMReleaseToolResource (short procID, Handle theHandle);
  1028. >>...
  1029. >>pascal OSErr  CRMFindCommunications(short *vRefNum, long *dirID);
  1030. >>...
  1031. >>
  1032. >>When I use CRMGetToolResource() in my code (CommToolbox library added) I get
  1033. >>a "undefined CRMGetToolResource" link error.
  1034. >>
  1035. >    These routines are part of CTB 1.1, which is available as a separate
  1036. >library for Think, but should be part of the MPW 3.2 .o files.  If you don't
  1037. >have the docs/library for the CTB 1.1, they are available on ftp.apple.com.
  1038. >Leonard Rosenthol            Internet:     leonardr@netcom.com
  1039.  
  1040. The 1.1 files come in MPW .o format.  You need to run it past oConv (and
  1041. create a vocabulary file if you want lower case in the names).  I think I
  1042. also had to make a small change to one of the header files in that package
  1043. as well (or I got newer ones from the ETO CD - I forget).
  1044.  
  1045. - -- 
  1046.  
  1047.  \ | /   | Brian Hall                 mspace@netcom.com
  1048.  - : -   | Mark/Space Softworks       Applelink: markspace
  1049.   /|\    |                            America Online: MarkSpace
  1050.  |-+-|   |
  1051. /-\|/-\  | The tornado ate my powerbook.
  1052.  
  1053. +++++++++++++++++++++++++++
  1054.  
  1055. From: ulfis@cyklop.nada.kth.se (Anders Ulfheden)
  1056. Date: 9 Sep 92 10:47:39 GMT
  1057. Organization: Royal Institute of Technology, Stockholm, Sweden
  1058.  
  1059. leonardr@netcom.com (Leonard Rosenthol) writes:
  1060.   >    These routines are part of CTB 1.1, which is available as a separate
  1061.   >library for Think, but should be part of the MPW 3.2 .o files.  If you don't
  1062.   >have the docs/library for the CTB 1.1, they are available on ftp.apple.com.
  1063.  
  1064. Can you be more specific about the docs? I looked on ftp.apple.com yesterday,
  1065. but did'nt find anything new that I don't already have. I got the HyperCard
  1066. stacks from WWDC, but no info there about CRMGetToolResource().
  1067.  
  1068. mspace@netcom.com (Brian Hall) writes:
  1069.   >The 1.1 files come in MPW .o format.  You need to run it past oConv (and
  1070.   >create a vocabulary file if you want lower case in the names).  I think I
  1071.   >also had to make a small change to one of the header files in that package
  1072.   >as well (or I got newer ones from the ETO CD - I forget).
  1073.  
  1074. Thanks! I have ETO#8 so I'll look there. Any plans from Symantec to support
  1075. this 1.1 version of CTB?
  1076.  
  1077. ulfis
  1078. - --
  1079. +------------------------------------------------------------------------------
  1080. |  Anders Ulfheden
  1081. |  USENET:  ulfis@nada.kth.se        AppleLink: SW0429
  1082. |  Royal Institute of Technology
  1083. |  Stockholm, Sweden
  1084.  
  1085. ---------------------------
  1086.  
  1087. End of C.S.M.P. Digest
  1088. **********************
  1089.